<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>创建一个数组的迭代器</title>
</head>
<body>
    
    <script>

        const arr = [1, 2, 3, 4, 5];
        function createInterator(arr) { // 一个可以用于迭代数组的迭代器
            let nextIndex = 0;
            return {
                next:() => {
                    // next 必须返回一个对象 如果没有迭代完 对象中的done的值是false value 值是迭代的第几项数据  
                    // 如果迭代完了 对象中的done的值是true value 值是undefined
                    if(nextIndex < arr.length){ // 没有迭代完
                        return { done: false ,value:arr[nextIndex++]}
                    }else{ // 迭代完了
                        return { done: true ,value:undefined}
                    }
                }
            }

        }
        const interator = createInterator(arr);
        console.log(interator.next());
        console.log(interator.next());
        console.log(interator.next());
        console.log(interator.next());
        console.log(interator.next());
        console.log(interator.next());
        console.log(interator.next());



    </script>

</body>
</html>